<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>商品列表</h1>
    <table border="1">
        <tr>
            <th>商品id</th>
            <th>商品标题</th>
            <th>商品价格</th>
            <th>商品销量</th>
            <th>操作</th>
        </tr>
        <tr v-for="p in arr">
            <td>{{p.id}}</td>
            <td>{{p.title}}</td>
            <td>{{p.price}}</td>
            <td>{{p.saleCount}}</td>
            <!-- 废掉超链接自身的跳转功能 -->
            <td>
                <a href="javascript:void(0)" @click="del(p.id)">删除</a>
                <a :href="'/update.html?id='+p.id">修改</a>
            </td>
        </tr>
    </table>
    <script src="js/vue.js"></script>
    <script src="js/axios.min.js"></script>
    <script>
        let v = new Vue({
            el : "table",
            data : {
                arr : []
            },
            //此方法是Vue对象创建时执行的方法,一般会把加载完页面请求数据的代码,写在此方法中
            created : function () {
                axios.get("/select").then(function (response) {
                    //服务器返回的数据直接赋值给arr数组,由于页面和数组进行了绑定,数组值发生变化时,页面会自动发生变化

                    //服务器传递过来的就是二进制的数据,先将二进制的数据转换为JSON格式的字符串,
                    //转换完成后,Axios框架会将JSON格式的数据转换为数组或对象
                    v.arr = response.data;
                })
            },
            methods : {
                del(id) {
                    //发出删除的异步请求
                    axios.get("/delete?id="+id).then(function (response){
                        alert("删除成功!");
                        location.reload(); //刷新页面
                    })
                }
            }
        })
    </script>
</body>
</html>